In the related art, a printer may print vertically by rotating a string of characters, such as Latin alphabet letters or Chinese characters. There is also a printer that prints vertically in a direction perpendicular to a transport direction of a sheet having a roll shape.
For printing Arabic characters, in a case of printing in a vertical direction with respect to the transport direction of a sheet, an order of character data transmitted from a host to the printer is rearranged from right to left, by a word unit or a line unit. Furthermore, processing is executed to generate an image of the Arabic character string which converts a character into a character having the appropriate shape, in accordance with a position of the character in the word. The processing also generates image data in which characters are connected to each other in shape. Thereby, the appropriate Arabic characters may be printed.
For example, in the printing of a check, a printing line is in the same direction as the transport direction of the sheet. In this case, the character is rotated at an angle of 90 degrees (or 270 degrees clockwise) by one character unit. Generally, in the case of alphanumeric characters, even if the character data string is printed in order of reception, an output is correctly printed in the vertical direction.
However, in the case of the Arabic character string, a matrix is replaced, when printing is performed in order of transmission of the character data which is transmitted from an application or a driver. Therefore, if the processing is performed to generate the image of the Arabic character string in order of reception of the character data, there is a problem that an unnatural Arabic character which is different from the output intended by the host side is inappropriately printed.